<?php

class Application_Model_Cliente extends Sgit_Model
{  
    protected $_name = 'cliente';
    protected $_primary = 'id';
    
    public function getCliente($id)
    {
        return $this->getClientes('',$id);
    }
    
    

    
    public function getClientes($values=array(),$id=null)
    {
        
        $select = $this->getAdapter()->select();
        
        
        
        $pro=new Zend_Db_Expr("(SELECT count(*) FROM proyectos WHERE id_cliente=cliente.id AND activo=1)");
        $mmr=new Zend_Db_Expr("(SELECT count(*) FROM proyectos_circuitos WHERE id_cliente=cliente.id)");
        
        
        $select->from(array('cliente'),array('*','proyectos' => $pro,'proyectos_mmr' => $mmr));

        if (!is_null($id))
        {
            $select->where("cliente.id= ?", $id);
        }else{
            if($values['id_zona'])
                $select->where("cliente.id_zona= ?", $values['id_zona']);
            if($values['activo'])
                $select->where("cliente.activo= ?", $values['activo']);
        }


        $sector= new Sgit_Form_Element_Select_Sector('id_sector');
        $proyectos= new Application_Model_Proyectos();

        $rows = $this->getAdapter()->fetchAll($select);

        foreach($rows as &$v)
        {
            $v['sector']=$sector->getMultiOption($v['id_sector']);
            if($v['id_jp']) $v['jp']=Sgit_Util_User::run($v['id_jp']);
            
            
            if(($v['proyectos']+$v['proyectos_mmr'])==0)
            {
                $this->updateRow(array('activo' => 0),array('id = ?'=>$v['id']));
            }
            
        }
         

         if (is_null($id))
            return $rows;
         else
            return $rows[0];

    }
    
    
    
  
    
}  




